May 8, 2005

Beginning of changes since 2.03

1) Revised Japanese localization

2) Fixed applescript error messages sent to the console 

3) Added an Applescript command "RefreshPDFBackground" which
	refreshes the PDF window WITHOUT bringing it front

4) Added a new hidden preference

	defaults write TeXShop LeftRightArrowsAlwaysPage YES

The actual default is NO. When set to YES, the left and right
arrows scroll by a page even if the horizontal scroll bar is active.


5) Now command[ and command] act differently for the preview window
and the editing window. In the preview window they are "back" and
"forward"; in the editing window they are "unindent" and "indent".
Thus command< and command> are left to the system, and on German
and other keyboards can be used to cycle through windows.

The only disadvantage of this change is that the keyboard shortcuts aren't listed in the menus, since at most one shortcut is allowed in menus,
and then it is activated before the event is sent to program event handling routines.

6) The old preference engine items "altpdftex --maxpfb" and "altpdflatex --maxpfb"
have now changed to "simpdftex tex --maxpfb" and "simpdftex latex --maxpfb" because
Gerben Wierda removed altpdftex and altpdflatex and replaced these scripts
by the general script simpdftex. These new preference values are defaults, so
new installations of the program will use them.

The program automatically changes old preference values for these items
to new values as follows:

	if the user tries to use altpdftex or altpdflatex, the program
	first sees if these files exist in the tex binary directory.
	If so, it uses the files. Otherwise it sees if simpdftex is in
	the tex binary directory. If so, it changes the old preference 			values to the new values and then uses simpdftex.

7) The TeXShop preference for the teTeX binary directory is
/usr/local/teTeX/bin/powerpc-apple-darwin-current. Added the following
code: when the program first starts, it checks to see if this is still
the teTeX binary directory preference. It it is, TeXShop calls
"uname -p" to determine the current processor. If the result is
"i386", then TeXShop permanently changes the above preference
to /usr/local/teTeX/bin/i386-apple-darwin-current.

8) From version 2.0 on, TeXShop has had trouble setting new preferences, and
it was sometimes necessary to set them several times before they "stuck." This
may have been fixed.

9) Changed the English under the Preview tab of Preferences from "After
Window Resize" to "Magnification Style" and changed "Preview Window Magnification" to "Preview Window Fixed Magnification"

10) Added

	%!TEX projectfile = 

for ConTeXt users, who can now enter their source files in the Main
file and user the new sync method.

For example

	%!TEX projectfile = /Users/koch/MyDoc/chapter1.tex
	%!TEX projectfile = chapter2.tex
	%!TEX projectfile = ../chapter3.tex

11) Added .Rnw as an extension TeXShop can edit. This was a request of Paolo Bosetti, who uses TeX and R and Sweave together.

12) When the user tries to open a .dvi file, TeXShop runs a script to convert to pdf and displays the pdf. In previous versions, it ran a different script when the .dvi was in a writeable directory than when its directory was not writeable. Now TeXShop calls simpdftex to do the conversion. Actually it calls the TeX + dvips + distiller script, which is set in Preferences; the preference may be altpdflatex for old TeX distributions, but will be simpdftex for modern distributions.

13) Michael Witten, a student at MIT, added multiple wrapping modes to TeXShop. Users can choose "no wrapping," so lines continue right until the user pushes ENTER, or "word wrapping," so text is wrapped at word boundaries, or "character wrapping" so text wraps exactly at the last possible character. Note that these wrappings are "soft;" resizing the window will change the wrapping.

The default wrapping is "word wrapping," but a hidden preference allows this preference to be changed. Type

	defaults write TeXShop LineBreakMode 1

to set the default. Here "None" = 0, "Word Wrap" = 1, and "Character Wrap" = 2

Wrapping is done at the right side of the window unless the ruler is active; if it is, wrapping is done at the "right marker" 

Witten also added the command "Hard Wrap." If a paragraph is selected, this command inserts hard wrapping commands at the right side of this paragraph. After this step, resizing the window leaves the wraps fixed. This is useful if you send source to a colleague whose editors has fixed width and no wrapping.

If the "Hard Wrap" command is chosen but no selection has been made, then the hard wrap applies to the entire document. Note that "Hard Wrap" is undoable.

14) Fixed "undo past a save" using Tiger's new 
[textView breakUndoCoalescing]

15) Added ISO Latin 9 encoding

16) Added Norm Gall's TeX-mdimport to index .tex, .latex, .ltx, .ctx,
and .texi files. This importer is inside the TeXShop bundle, and will be
recognized and index such files even if TeXShop is not active. By Apple's rules, spotlight will use the included indexer only if a similar indexer is not installed in ~/Library/Spotlight or other locations for indexers, so users may safely install updates of Gall's mdimporter.

17) When TeXShop 2.0 was first released, an annoying bug caused the program to gradually slow to a crawl after several typesetting actions. Investigation showed that the problem occurred when a new pdf file was loaded into the PdfKitView in the Preview Window. According to Apple documentation, this should release the previous data structures; the release of these data structures caused the program slowdown.

To fix this temporarily, I tricked the system into believing that the data structures were still being used so the system didn't try to release them. A side effect was that memory gradually filled up, and some users learned that they should quit TeXShop and restart after a day's work.

Recent investigation seems to show that this bug is fixed in Tiger 10.4.3. Consequently, TeXShop now releases the old data structures when the system is at least 10.4.3, but not otherwise.

This behavior is controlled by a hidden Preference item. To set this item,

	defaults write TeXShop ReleaseDocumentClasses 0

The value 0 is the default, causing the program to behave as just described. If the value is 1, the old data structures are never released, and thus the program behaves as earlier versions of TeXShop 2. If the value is 2, old data structures are always released.

If you find that the program becomes sluggish after several typesetting jobs, please change ReleaseDocumentClasses to 1 and then report the behavior to me with as many details as possible.

17) Added a new hidden Preference

	defaults write TeXShop RedConsoleAfterError NO

If this default is YES, then after the first error, the remaining
text in the console will be red. The default value is NO.

18) Slightly modified the appearance of the Console window, particularly in English. More work is needed here. Note that the console window can be resized and relocated, and the system will remember this size and location when TeXShop is restarted.

